Incremental Polymorphism Incremental Polymorphism
نویسندگان
چکیده
The Hindley/Milner polymorphic type system has been adopted in many programming languages because it provides the convenience of programming languages like Lisp along with the correctness guarantees that come with static type-checking. However, programming environments for such languages are still not as exible as those for Lisp. In particular, the style of incremental, top-down program development possible in Lisp is precluded because the type inference system is usually formulated as a \batch system" that must examine deenitions before their uses. This may require large parts of the program to be recompiled when a small editing change is performed. In this paper, we attempt to strike a balance between the apparently connicting goals of incremental, top-down programming exibility and static type-checking. We present an incremental typing mechanism in which top-level phrases can be compiled one by one, in any order, and repeatedly (due to editing). We show that the incremental type system is sound and complete with respect to the more traditional \batch system". The system derives exibility from the inherent polymorphism of the Hindley/Milner type system and minimizes the overhead of book-keeping and recompilation. Our system is implemented and has been in use by dozens of users for more than two years.
منابع مشابه
Type-Driven Incremental Semantic Parsing with Polymorphism
Semantic parsing has made significant progress, but most current semantic parsers are extremely slow (CKY-based) and rather primitive in representation. We introduce three new techniques to tackle these problems. First, we design the first linear-time incremental shift-reduce-style semantic parsing algorithm which is more efficient than conventional cubic-time bottom-up semantic parsers. Second...
متن کاملA Hybrid Framework for Building an Efficient Incremental Intrusion Detection System
In this paper, a boosting-based incremental hybrid intrusion detection system is introduced. This system combines incremental misuse detection and incremental anomaly detection. We use boosting ensemble of weak classifiers to implement misuse intrusion detection system. It can identify new classes types of intrusions that do not exist in the training dataset for incremental misuse detection. As...
متن کاملLIL: CLOS reaches higher-order, sheds identity and has a transformative experience
LIL, the Lisp Interface Library, is a data structure library based on Interface-Passing Style. This programming style was designed to allow for parametric polymorphism (abstracting over types, classes, functions, data) as well as ad hoc polymorphism (incremental development with inheritance and mixins). It consists in isolating algorithmic information into first-class interfaces, explicitly pas...
متن کاملFinite element simulation of two-point incremental forming of free-form parts
Two-point incremental forming method is considered a modern technique for manufacturing shell parts. The presence of bottom punch during the process makes this technique far more complex than its conventional counterpart i.e. single-point incremental forming method. Thus, the numerical simulation of this method is an essential task, which leads to the reduction of trial/error costs, predicts th...
متن کامل